//---插件---
(function ($) {

    /*$(".edit-select-container").editSelect({
        Select:'ul',
        Option:'li',
        Text:'input[type="text"]',
    });*/

    $.fn.editSelect = function (options) {
        return this.each(function () {
            var defaults = {
                Select: null,   //--相当于原生态的select
                Option: null,  //--相当于原生态的option
                Text: null,   //--显示所选择的文本
                Onchange: $.noop   //--默认为空函数
            };
            var opts = $.extend(defaults, options);
            var othis = $(this);
            //--点击展开收缩
            othis.unbind().click(function () {
                othis.find(opts.Option).show();  //--显示所有下拉项
                //--设置下拉高亮显示
                var iniValue = othis.find(opts.Text).data("value");
                othis.find(opts.Option).removeClass("select-highlighted");
                othis.find(opts.Option + ":[data-value='" + iniValue + "']").addClass("select-highlighted");

                if (othis.hasClass("select-dropdown-open")) {
                    othis.removeClass("select-container-active select-dropdown-open");
                }
                else {
                    othis.addClass("select-container-active select-dropdown-open");
                }
                othis.find(opts.Text).on("blur", function (e) {
                    setTimeout(function () {
                        othis.removeClass("select-container-active select-dropdown-open");
                        if (othis.data("type") == 'onlySearch' && othis.data("flag") == '0') {
                            othis.find(opts.Text).data("value", '').val('');
                        }
                    }, 200);
                })
            })
            //**下拉框列表绑定事情
            othis.find(opts.Select).unbind().on("click", opts.Option, function () {
                if (othis.data("type") == 'onlySearch') {
                    othis.data("flag", '1');  //--选择设为1
                }
                var html = $(this).html();
                var value = $(this).data("value");
                othis.find(opts.Text).data("value", value).val(html)//--设置input的文本值和data-value属性值
                //alert(othis.find(opts.Text).data("value"))
                if (opts.Onchange) {
                    var v = othis.find(opts.Text).data("value");
                    opts.Onchange(value);
                }
            })
            //--输入查询
            othis.on("keyup", opts.Text, function () {
                if (othis.data("type") == 'onlySearch') {
                    othis.data("flag", '0');  //--输入设为0
                }
                othis.find(opts.Option).removeClass("select-highlighted");//--清楚高亮
                var val = $(this).val().trim();
                othis.find(opts.Option).hide();
                othis.find(opts.Option + ":contains('" + val + "')").show();
                $(this).data("value", val);  //--设置data-value属性值为输入值
                //console.log($(this).data("value"))
            })

        });
    };


})(jQuery);